package com.jic.manager.service;

import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.manager.entity.Mestore;
import com.jic.manager.request.MestorePageRequest;
import com.jic.manager.request.MestoreRequest;
import com.jic.manager.request.StoreListGetReuqest;
import com.jic.manager.response.MemStoreResponse;
import com.jic.manager.response.MestoreResponse;
import com.jic.manager.response.StoreImportResponse;
import com.jic.product.after.request.MeStoreListRequest;
import com.jic.product.after.response.MeStoreListResponse;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
* 店铺基本信息
* @author : 
* @email : 
* @since : 2020-02-26 09:40:07
* @version : v1.0.0
*/
public interface MestoreService {

    long insert(Mestore mestore);

    long delete(Long id);

    long update(Mestore mestore);

    Mestore queryByPrimaryKey(Long id);

    List<Mestore> query(Mestore mestore);

    PageResult<MemStoreResponse> queryPage(MestoreRequest mestore, Page pageQuery);

    MestoreResponse getStoreInfo(MestoreRequest mestoreRequest);

    PageResult<MestoreResponse> queryStoreInfoPage(MestoreRequest mestoreRequest, Page pageQuery);

    PageResult<MestoreResponse> queryStoreInfoPageByOrgNumber(MestoreRequest mestoreRequest, Page pageQuery);

    List<MestoreResponse> queryStoreInfoNoPage(MestoreRequest mestoreRequest);

    RestResult<String> editStoreInfo(MestoreRequest mestoreRequest);

    List<MeStoreListRequest> getStoreList();

    //根据商家id集合查询店铺
    RestResult<PageResult<MestoreResponse>> getByMerchantIds(StoreListGetReuqest storeListGetReuqest);

    //导入店铺
    RestResult<PageResult<StoreImportResponse>> importStoreExcel(MultipartFile file) throws IOException;

    //卡奥斯查询店铺
    RestResult<PageResult<MestoreResponse>> getStorePage(MestorePageRequest mestorePageRequest);

    //查询店铺不要分页
    RestResult<PageResult<MestoreResponse>> findByIds(StoreListGetReuqest storeListGetReuqest);

    RestResult<PageResult<MestoreResponse>> getByMercrchantIds(StoreListGetReuqest storeListGetReuqest);

    MeStoreListResponse queryByStoreCode(String code);


    List<Mestore> queryStoreList(MestoreRequest mestoreRequest);
}